home *** CD-ROM | disk | FTP | other *** search
-
-
-
- FFFFMMMMMMMMAAAATTTTRRRRIIIIXXXX((((3333WWWW)))) FFFFMMMMMMMMAAAATTTTRRRRIIIIXXXX((((3333WWWW))))
-
-
-
- NNNNAAAAMMMMEEEE
- fminitpagematrix, fmsetpagematrix, fmgetpagematrix, fmscalepagematrix,
- fmrotatepagematrix, fmconcatpagematrix - font manager page matrix
- operations
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ####iiiinnnncccclllluuuuddddeeee <<<<ffffmmmmcccclllliiiieeeennnntttt....hhhh>>>>
-
- vvvvooooiiiidddd ffffmmmmiiiinnnniiiittttppppaaaaggggeeeemmmmaaaattttrrrriiiixxxx(((())))
-
- vvvvooooiiiidddd ffffmmmmsssseeeettttppppaaaaggggeeeemmmmaaaattttrrrriiiixxxx((((mmmm))))
- ddddoooouuuubbbblllleeee mmmm[[[[3333]]]][[[[2222]]]];;;;
-
- vvvvooooiiiidddd ffffmmmmggggeeeettttppppaaaaggggeeeemmmmaaaattttrrrriiiixxxx((((mmmm))))
- ddddoooouuuubbbblllleeee mmmm[[[[3333]]]][[[[2222]]]];;;;
-
- vvvvooooiiiidddd ffffmmmmssssccccaaaalllleeeeppppaaaaggggeeeemmmmaaaattttrrrriiiixxxx((((xxxx))))
- ddddoooouuuubbbblllleeee xxxx;;;;
-
- vvvvooooiiiidddd ffffmmmmrrrroooottttaaaatttteeeeppppaaaaggggeeeemmmmaaaattttrrrriiiixxxx((((aaaannnngggglllleeee))))
- ddddoooouuuubbbblllleeee aaaannnngggglllleeee;;;;
-
- vvvvooooiiiidddd ffffmmmmccccoooonnnnccccaaaattttppppaaaaggggeeeemmmmaaaattttrrrriiiixxxx((((mmmm))))
- ddddoooouuuubbbblllleeee mmmm[[[[3333]]]][[[[2222]]]];;;;
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The argument _m points to a 3x2 matrix of doubles, of which you need fill
- in only the first two rows when loading values. (The third row is
- reserved for future development and is currently ignored.) This matrix
- is a two dimensional transformation matrix that you can multiply against
- the page matrix. (The page matrix is independent of the hardware matrix
- stack.) You can use this multiplication of the page matrix to scale and
- rotate text. For more information on two-dimensional transformation
- matrices, see Chapter 7, "Geometrical Transformations" in _F_u_n_d_a_m_e_n_t_a_l_s _o_f
- _I_n_t_e_r_a_c_t_i_v_e _C_o_m_p_u_t_e_r _G_r_a_p_h_i_c_s by J.D. Foley and A. Van Dam, (Addison-
- Wesley, 1982).
-
- Changing the page matrix changes the page, which you can visualize as a
- transparent sheet that lies on top of the window. Distorting this sheet
- changes the appearance of text rendered on it. If you rotate the page,
- you rotate the text in the window. If you stretch or compress the page
- (scale the page) you stretch or compress the text on the page.
-
- If you are not familiar with using transformation matrices, you should
- avoid the routines that require the _m matrix. Fortunately, you can still
- perform scales or rotations on the page matrix. Use the
- _f_m_s_c_a_l_e_p_a_g_e_m_a_t_r_i_x and _f_m_r_o_t_a_t_e_p_a_g_e_m_a_t_r_i_x routines. Currently, the only
- way to render rotated text is to alter the page matrix. However, you do
- not always need to scale the page matrix (call _f_m_s_c_a_l_e_p_a_g_e_m_a_t_r_i_x) to
- render text of a different size. In fact, the preferred method for
- scaling text often is to call _f_m_s_c_a_l_e_f_o_n_t. This associates a scaling
- factor to a given font, which, as in PostScript, begins as a 1-point-high
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- FFFFMMMMMMMMAAAATTTTRRRRIIIIXXXX((((3333WWWW)))) FFFFMMMMMMMMAAAATTTTRRRRIIIIXXXX((((3333WWWW))))
-
-
-
- set of characters.
-
- But, getting back to the page matrix, use: _f_m_i_n_i_t_p_a_g_e_m_a_t_r_i_x to
- initialize the page matrix to an identity matrix.
-
- _f_m_s_e_t_p_a_g_e_m_a_t_r_i_x to load the page matrix with the floating point values
- supplied in matrix _m.
-
- _f_m_g_e_t_p_a_g_e_m_a_t_r_i_x to return the current page matrix in the matrix supplied
- by the client.
-
- _f_m_s_c_a_l_e_p_a_g_e_m_a_t_r_i_x to uniformly scale the page matrix by _x.
-
- _f_m_r_o_t_a_t_e_p_a_g_e_m_a_t_r_i_x to rotate the page matrix by the specified angle,
- where the angle (measured in degrees) increases up from the x axis.
-
- _f_m_c_o_n_c_a_t_p_a_g_e_m_a_t_r_i_x to post concatenate the _m matrix (supplied by the
- client) with the current page matrix.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- fminit(3W), fmgetfontinfo(3W), fmprstr(3W), fmscalefont(3W),
- fmsetfont(3W).
-
- NNNNOOOOTTTTEEEE
- This routine is available only in immediate mode.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-